import { request, apiUrl } from '@/api/request';
/**
 * ### mv 排行

说明 : 调用此接口 , 可获取 mv 排行

**可选参数 :** `limit`: 取出数量 , 默认为 30

`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认
为 0

**接口地址 :** `top/mv`

**调用例子 :** `top/mv?limit=10`
 */
type TopMv = {
  limit?: number;
  offset?: number;
};
export function getTopMv(params?: TopMv) {
  return request(apiUrl.TOP_MV, params);
}

/**
 * ### 获取 mv 数据

说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应
MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频
网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口

**必选参数 :** `mvid`: mv 的 id

**接口地址 :** `/mv`

**调用例子 :** `/mv?mvid=5436712`
 */
export function getMvInfo(id: number) {
  return request(`${apiUrl.MV_DETAIL}?mvid=${id}`);
}

/**
 * mv 地址
说明 : 调用此接口 , 传入 mv id,可获取 mv 播放地址

必选参数 : id: mv id

可选参数 : r: 分辨率,默认 1080,可从 /mv/detail 接口获取分辨率列表

接口地址 : /mv/url

调用例子 :

/mv/url?id=5436712 /mv/url?id=10896407&r=1080
 */

export function getMvUrl(id: number) {
  return request(`${apiUrl.MV_URL}?id=${id}`);
}

/**
 * ### 获取视频数据

说明 : 调用此接口 , 传入视频的 id ( 在搜索音乐的时候传 type=1014 获得 ) , 可获取对应
视频数据,其中视频网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口

**必选参数 :** `id`: 视频 的 id

**接口地址 :** `/video`

**调用例子 :** `/video?id=89ADDE33C0AAE8EC14B99F6750DB954D`
 */
export function getVideoInfo(id: string | number) {
  return request(`${apiUrl.VIDEO_DETAIL}?id=${id}`);
}

/**
 * ### 播放 mv/视频

说明 : 调用此接口 , 传入 mv/视频 地址 , 可播放 mv/视频, 也可将接口嵌入 video 标签使用 , 由
于使用了 'pipe', 进度条无法通过拖动进度条控制进度 , 如有解决方案可提出 PR 或者自
行改造

**可选参数 :** `url`: mv/视频 的 地址

**接口地址 :** `/mv/url`

**调用例子 :**
`/mv/url?url=http://v4.music.126.net/20170422034915/c98eab2f5e2c85fc8de2ab3f0f8ed1c6/web/cloudmusic/MjQ3NDQ3MjUw/89a6a279dc2acfcd068b45ce72b1f560/533e4183a709699d566180ed0cd9abe9.mp4`
 */

export function getVideoUrl(url: string) {
  return request(`${apiUrl.VIDEO_URL}?url=${url}`);
}
